/*************************************************************************
	> File Name: memcheck.h
	> Author: QiyangXia
	> Mail: 834061456@qq.com 
	> Created Time: 2022年01月22日 星期六 17时09分25秒
 ************************************************************************/

#ifndef MEM_CHECK_H
#define MEM_CHECK_H

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void *my_malloc_private(int size,char *cfilename,int lineno);
int my_free_private(void *p,char *cfilename,int lineno);


#define MEM_CHECK

#ifdef MEM_CHECK


#define my_malloc(size) my_malloc_private((size),__FILE__,__LINE__)
#define my_free(p) my_free_private((p),__FILE__,__LINE__)

#else

#define my_malloc(size) malloc((size))
#define my_free(p) free((p))

#endif

/*call it at the end of your program*/
int clear_memlist(void  *plist);
int check_mem_leak();
int check_mem_overstep(void *paddr);

#endif
